// app/middleware/error_handler.js
module.exports = () => {
  return async function errorHandler(ctx, next) {
    try {
      await next();
      // 404 处理 

    } catch (err) {
      // 记录一条错误日志
      ctx.app.emit("error", err, ctx);

      const status = err.status
      // 生产环境时 500 错误的详细错误内容不返回给客户端，因为可能包含敏感信息
      ctx.status = err.status;
      if (ctx.status === 422) {
        ctx.body = {
          msg: "fail",
          data: err,
        };
      }
      ctx.body = {
        msg: "fail",
        data: err,
      };

    }
  };
};

